#pragma once
#include <cstdlib>
//#include <wchar.h>

const int NEGTIVE_INFINITE = -10000;

struct Node
{
	int key;
	int data;
	
	Node* next;
	Node* prev;
	
	Node* up;
	Node* down;
	
	Node() : key(NEGTIVE_INFINITE), data(0), next(0), prev(0), up(0), down(0) {}
};

extern Node*		g_head;


extern int		search(int key);
extern void		insert(int key, int data);
extern void		remove(int key);